package dao;

import pojo.Order;

import java.util.List;

public interface OrderDao {

    /**
     * 新增一个订单
     * @param order
     * @return
     */
    public Integer add(Order order);

    /**
     * 查找餐桌的最新订单id
     * @param tableId
     * @return
     */
    public Integer findOrderIdByTableId(String tableId);

    /**
     * 查找餐桌的最新订单对象
     * @param tableId
     * @return
     */
    public Order findOrderByTableId(String tableId);

    /**
     * 查找详细的订单对象
     * @param tableId
     * @param orderId
     * @return
     */
    public List<Order> findDetailOrderByTableId(String tableId, String orderId);

    /**
     * 修改订单的总金额
     * @param orderId
     * @param orderMoney
     */
    public Integer updateOrderMoney(String orderId, String orderMoney);

    /**
     * 非会员支付
     * @param orderId
     * @return
     */
    public Integer normalPay(String orderId);

    /**
     * 通过订单Id查找订单信息
     * @param orderId
     * @return
     */
    public Order findOrderById(String orderId);

    /**
     * 修改为是会员支付
     * @param orderId
     * @return
     */
    public Integer updateOrderIsMember(String orderId);

    /**
     *  更新订单的会员支付信息
     * @param memberName
     * @param workerName
     * @param orderId
     * @return
     */
    public Integer updateMemberInfo(String memberName, String workerName, String orderId);

    /**
     * 根据条件查找所有订单
     */
    public List<Order> orderList(Order order);

    /**
     * 根据条件查找所有订单的数量
     */
    public Integer countOrderList(Order order);

    /**
     * 通过日期查找营业额
     * @param day
     * @return
     */
    public String findOrderMoneyByDay(String day);

    /**
     * 查询今天的所有已支付订单
     * @param today
     * @return
     */
    public List<Order> findOrderByDay(String today);

    /**
     * 将订单支付时间设置为null
     * @param orderId
     * @return
     */
    public Integer setOrderPayTimeNULL(String orderId);

    /**
     * 根据订单id删除订单信息
     * @param orderId
     * @return
     */
    public Integer deleteOrderByOrderId(String orderId);
}
